'''
@Project ：hdcms-scripts
@File    ：create_live_config.py
@IDE     ：PyCharm
@Author  ：朱广杰
@Date    ：2024/12/2 18:46
'''
from common.hd_response import CaseResponse
from common.hd_exception import except_script_error
from datetime import datetime
from script.create_live_config import add_pop, get_room_id, add_interact, update_interact, get_interact_id, add_prize, \
    get_prize_id, update_prize, add_choice_question, get_question_id, add_nps, get_nps_id, update_nps


@except_script_error
def create_live_config(course_id):
    """
        @api {post} /create_live_config 创建直播间配置数据
        @apiGroup 课程
        @apiName create_live_config
        @apiDescription  创建直播间配置数据
        @apiPermission zgj
        @apiParam {String=bb688f648776b6437fd4064834ff70a2} course_id=bb688f648776b6437fd4064834ff70a2 课程ID
        @apiParamExample {json} 请求示例:
        {
                "course_id": "bb688f648776b6437fd4064834ff70a2"
            }
        @apiSuccess (200) {Integer} responseCode 服务器码
        @apiSuccess (200) {String} responseMsg 提示语
        @apiSuccess (200) {Object} responseData 造数成功返回相关的数据
        @apiSuccessExample {json} 返回示例:
        {
            "responseCode": 0,
            "responseMsg": "请求成功",
            "responseData": {
                "course_id": "bb688f648776b6437fd4064834ff70a2",
            }
        }
        """
    room_id = get_room_id(course_id)
    add_pop(course_id, room_id)
    add_interact(course_id, room_id)
    interact_id = get_interact_id(room_id)
    update_interact(interact_id)
    prize_id = get_prize_id(room_id)
    update_prize(0, prize_id)
    add_prize(room_id)
    prize_id = get_prize_id(room_id)
    update_prize(1, prize_id)
    add_choice_question(course_id, room_id)
    question_id = get_question_id(course_id, room_id)
    update_interact(question_id)
    add_nps(course_id, room_id)
    nps_id = get_nps_id(course_id, room_id)
    update_nps(nps_id, course_id, room_id)

    res = {"course_id": course_id}
    now_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    demo_log = f"""
[{now_time}]: 脚本开始 -> 进行一键新增直播间内配置数据
[{now_time}]: 脚本执行 -> 一键创建直播间弹窗成功
[{now_time}]: 脚本执行 -> 一键创建直播间呼应time成功
[{now_time}]: 脚本执行 -> 一键创建直播间答题成功
[{now_time}]: 脚本执行 -> 一键创建直播间红包成功
[{now_time}]: 脚本执行 -> 一键创建直播间nps弹窗成功
[{now_time}]: 脚本结束 -> 进行一键新增直播间内配置数据完成
"""
    return CaseResponse.success(data=res), demo_log
